home *** CD-ROM | disk | FTP | other *** search
Wrap
CCCCPPPPLLLLXXXXEEEERRRRRRRR((((3333CCCC++++++++)))) CCCCPPPPLLLLXXXXEEEERRRRRRRR((((3333CCCC++++++++)))) NNNNAAAAMMMMEEEE complex_error - error-handling function for the C++ Complex Math Library SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS _####_iiii_nnnn_cccc_llll_uuuu_dddd_eeee _<<<<_cccc_oooo_mmmm_pppp_llll_eeee_xxxx_...._hhhh_>>>> _cccc_llll_aaaa_ssss_ssss _cccc______eeee_xxxx_cccc_eeee_pppp_tttt_iiii_oooo_nnnn _{{{{ _iiii_nnnn_tttt _tttt_yyyy_pppp_eeee_;;;; _cccc_hhhh_aaaa_rrrr _****_nnnn_aaaa_mmmm_eeee_;;;; _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _aaaa_rrrr_gggg_1111_;;;; _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _aaaa_rrrr_gggg_2222_;;;; _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _rrrr_eeee_tttt_vvvv_aaaa_llll_;;;; _pppp_uuuu_bbbb_llll_iiii_cccc_:::: _cccc______eeee_xxxx_cccc_eeee_pppp_tttt_iiii_oooo_nnnn_(((( _cccc_hhhh_aaaa_rrrr _****_nnnn_,,,, _cccc_oooo_nnnn_ssss_tttt _cccc_oooo_mmmm_pppp_llll_eeee_xxxx_&&&& _aaaa_1111_,,,, _cccc_oooo_nnnn_ssss_tttt _cccc_oooo_mmmm_pppp_llll_eeee_xxxx_&&&& _aaaa_2222 _==== _cccc_oooo_mmmm_pppp_llll_eeee_xxxx______zzzz_eeee_rrrr_oooo _))))_;;;; _ffff_rrrr_iiii_eeee_nnnn_dddd _iiii_nnnn_tttt _cccc_oooo_mmmm_pppp_llll_eeee_xxxx______eeee_rrrr_rrrr_oooo_rrrr_(((( _cccc______eeee_xxxx_cccc_eeee_pppp_tttt_iiii_oooo_nnnn_&&&& _))))_;;;; _ffff_rrrr_iiii_eeee_nnnn_dddd _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _eeee_xxxx_pppp_(((( _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _))))_;;;; _ffff_rrrr_iiii_eeee_nnnn_dddd _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _ssss_iiii_nnnn_hhhh_(((( _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _))))_;;;; _ffff_rrrr_iiii_eeee_nnnn_dddd _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _cccc_oooo_ssss_hhhh_(((( _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _))))_;;;; _ffff_rrrr_iiii_eeee_nnnn_dddd _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _llll_oooo_gggg_(((( _cccc_oooo_mmmm_pppp_llll_eeee_xxxx _))))_;;;; _}}}}_;;;; DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN In the following description of the _cccc_oooo_mmmm_pppp_llll_eeee_xxxx error handling routine, - _i is of type _iiii_nnnn_tttt and - _x is of type _cccc______eeee_xxxx_cccc_eeee_pppp_tttt_iiii_oooo_nnnn. _i _==== _cccc_oooo_mmmm_pppp_llll_eeee_xxxx______eeee_rrrr_rrrr_oooo_rrrr_((((_x_)))) Invoked by functions in the C++ Complex Mathematics Library when errors are detected. Users may define their own procedures for handling errors, by defining a function named _cccc_oooo_mmmm_pppp_llll_eeee_xxxx______eeee_rrrr_rrrr_oooo_rrrr in their programs. _cccc_oooo_mmmm_pppp_llll_eeee_xxxx______eeee_rrrr_rrrr_oooo_rrrr must be of the form described above. The element _tttt_yyyy_pppp_eeee is an integer describing the type of error that has occurred, from the following list of constants (defined in the header file): _SSSS_IIII_NNNN_GGGG argument singularity _OOOO_VVVV_EEEE_RRRR_FFFF_LLLL_OOOO_WWWW overflow range error _UUUU_NNNN_DDDD_EEEE_RRRR_FFFF_LLLL_OOOO_WWWW underflow range error The element _nnnn_aaaa_mmmm_eeee points to a string containing the name of the function that incurred the error. The variables _aaaa_rrrr_gggg_1111 and _aaaa_rrrr_gggg_2222 are the arguments with which the function was invoked. _rrrr_eeee_tttt_vvvv_aaaa_llll is set to the default value that will be returned by the function unless the user's _cccc_oooo_mmmm_pppp_llll_eeee_xxxx______eeee_rrrr_rrrr_oooo_rrrr sets it to a different value. PPPPaaaaggggeeee 1111 CCCCPPPPLLLLXXXXEEEERRRRRRRR((((3333CCCC++++++++)))) CCCCPPPPLLLLXXXXEEEERRRRRRRR((((3333CCCC++++++++)))) If the user's _cccc_oooo_mmmm_pppp_llll_eeee_xxxx______eeee_rrrr_rrrr_oooo_rrrr function returns non-zero, no error message will be printed, and _e_r_r_n_o will not be set. If _cccc_oooo_mmmm_pppp_llll_eeee_xxxx______eeee_rrrr_rrrr_oooo_rrrr is not supplied by the user, the default error-handling procedures, described with the complex math functions involved, will be invoked upon error. These procedures are also summarized in the table below. In every case, _e_r_r_n_o is set to _EEEE_DDDD_OOOO_MMMM or _EEEE_RRRR_AAAA_NNNN_GGGG_EEEE and the program continues. Note that complex math functions call functions included in the math library which has its own error handling routine, _mmmm_aaaa_tttt_hhhh_eeee_rrrr_rrrr(3M). Users may also override this routine by supplying their own version. ____________________________________________________________ DDDDEEEEFFFFAAAAUUUULLLLTTTT EEEERRRRRRRROOOORRRR HHHHAAAANNNNDDDDLLLLIIIINNNNGGGG PPPPRRRROOOOCCCCEEEEDDDDUUUURRRREEEESSSS ____________________________________________________________ ____________________________________________________________ _T_y_p_e_s _o_f _E_r_r_o_r_s ____________________________________________________________ ____________________________________________________________ _tttt_yyyy_pppp_eeee _SSSS_IIII_NNNN_GGGG _OOOO_VVVV_EEEE_RRRR_FFFF_LLLL_OOOO_WWWW _UUUU_NNNN_DDDD_EEEE_RRRR_FFFF_LLLL_OOOO_WWWW ____________________________________________________________ ____________________________________________________________ _e_r_r_n_o _EEEE_DDDD_OOOO_MMMM _EEEE_RRRR_AAAA_NNNN_GGGG_EEEE _EEEE_RRRR_AAAA_NNNN_GGGG_EEEE ____________________________________________________________ ____________________________________________________________ _EEEE_XXXX_PPPP: ____________________________________________________________ real too large/small - (+_H, +_H) (0, 0) ____________________________________________________________ imag too large - (0, 0) - ____________________________________________________________ ____________________________________________________________ _LLLL_OOOO_GGGG: ____________________________________________________________ arg = (0, 0) M, (H, 0) - - ____________________________________________________________ ____________________________________________________________ _SSSS_IIII_NNNN_HHHH: ____________________________________________________________ real too large - (+_H, +_H) - ____________________________________________________________ imag too large - (0, 0) - ____________________________________________________________ ____________________________________________________________ _CCCC_OOOO_SSSS_HHHH: ____________________________________________________________ real too large - (+_H, +_H) - ____________________________________________________________ imag too large - (0, 0) - ____________________________________________________________ ||||||||||||||||||||||||||||||||||||| |||||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||| ||||||||||||||||||||||||||||||||||||| PPPPaaaaggggeeee 2222 CCCCPPPPLLLLXXXXEEEERRRRRRRR((((3333CCCC++++++++)))) CCCCPPPPLLLLXXXXEEEERRRRRRRR((((3333CCCC++++++++)))) _____________________________________________________________ | | | | | ______________________________________________ AAAABBBBBBBBRRRREEEEVVVVIIIIAAAATTTTIIIIOOOONNNNSSSS M Message is printed (_EEEE_DDDD_OOOO_MMMM error). (H, 0) (_HHHH_UUUU_GGGG_EEEE, 0) is returned. (+_H, +_H) (+__HHHH_UUUU_GGGG_EEEE, +__HHHH_UUUU_GGGG_EEEE) is returned. (0, 0) (0, 0) is returned. ______________________________________________ |||||| |||||| SSSSEEEEEEEE AAAALLLLSSSSOOOO _cccc_oooo_mmmm_pppp_llll_eeee_xxxx(3C++), _mmmm_aaaa_tttt_hhhh_eeee_rrrr_rrrr(3M), _cccc_aaaa_rrrr_tttt_pppp_oooo_llll(3C++), _cccc_pppp_llll_xxxx_oooo_pppp_ssss(3C++), _cccc_pppp_llll_xxxx_eeee_xxxx_pppp(3C++), and _cccc_pppp_llll_xxxx_tttt_rrrr_iiii_gggg(3C++). PPPPaaaaggggeeee 3333